package com.lu.model.request;

import com.lu.model.enums.ApprovalStatusEnum;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * @Description: 新增商户
 * @Author: zhanglu
 * @Date: 2022/7/31 16:13
 */
@Data
public class MerchantAddRequest {

  /**
   * 品牌id，空表示没有品牌
   */
  private Long brandId;

  /**
   * 商户类型id
   */
  @NotNull(message = "请选择商户类型")
  private Long merchantTypesId;

  /**
   * 商户名称
   */
  @NotEmpty(message = "请输入名称")
  private String name;

  /**
   * logo
   */
  private String logo;

  /**
   * 联系人姓名
   */
  @NotEmpty(message = "请输入联系人姓名")
  private String contactsName;

  /**
   * 联系人电话
   */
  @NotEmpty(message = "请输入联系人电话")
  private String contactsPhone;

  /**
   * 账号
   */
  @NotEmpty(message = "请输入用户的登录账号")
  private String username;

  /**
   * 密码
   */
  @NotEmpty(message = "请输入用户的登录密码")
  private String password;

  /**
   * 状态 0未审核 1审核中 2审核不通过 3审核通过 4禁用 5启用
   * @see ApprovalStatusEnum
   */
  @NotNull(message = "请输入状态")
  private Integer status;

  /**
   * 用户id（商户账号）
   */
  private Long userId;

  /**
   * 描述
   */
  private String description;

  /**
   * 省
   */
  private String province;

  /**
   * 市
   */
  private String city;

  /**
   * 区
   */
  private String region;

  /**
   * 省市区code
   */
  private String addressCode;

  /**
   * 详细地址
   */
  private String address;

  /**
   * 经营模式(1线上，2线下，3线上线下)
   * @see com.lu.model.entity.SysMerchant.BusinessMode
   */
  @NotNull(message = "请输入经营模式")
  private Integer businessMode;

  /**
   * 通知手机号
   */
  @NotEmpty(message = "请输入通知手机号")
  private String noticePhone;

  /**
   * 店铺类型（1直营 2加盟）
   * @see com.lu.model.entity.SysMerchant.StoreType
   */
  @NotNull(message = "请输入店铺类型")
  private Integer storeType;

  /**
   * 排序
   */
  private Integer sort;

  /**
   * 结算公司
   */
  private String settlementCompany;

  /**
   * 开票抬头
   */
  private String bill;

  /**
   * 开户行
   */
  private String bankDeposit;

  /**
   * 开户账号
   */
  private String accountNumber;

  /**
   * 收款人
   */
  private String payee;

  /**
   * 结算折扣 value/100
   */
  private Integer settlementDiscount;

  /**
   * 税率 value/100
   */
  private Integer taxRate;

}
